home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 6 / The Arsenal Files 6 (Arsenal Computer).ISO / os2 / jvw10h.zip / JVWTRNSF.HLP (.txt) < prev    next >
OS/2 Help File  |  1996-02-26  |  37KB  |  781 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Transformations Utility Add on ΓòÉΓòÉΓòÉ
  3.  
  4. The functions contained in this DLL are designed to work with the JView imaging 
  5. system.  You will need to reference JView's main help file for help on controls 
  6. that are common to all JView dialogs, such as the colorwell.  This particular 
  7. module is provided by: 
  8.  
  9.                                  Crunch Products
  10.                                   P.O. Box 392
  11.                              Berkeley, CA 94701-0392
  12.                                        USA
  13.  
  14.  
  15. ΓòÉΓòÉΓòÉ 1.1. Common Controls ΓòÉΓòÉΓòÉ
  16.  
  17. All functions provided in the transformations utility will have some of the 
  18. following controls.  For our purposes a control is considered to be a push 
  19. button, a slider, a checkbox, etc.  Their use is fairly straightforward but a 
  20. detailed explanation is provided here. 
  21.  
  22. Low Priority  This checkbox is a signal to run the current operation(s) using a 
  23. low priority thread.  A basic understanding of how OS/2 works is needed here. 
  24. OS/2 is multi-threaded, that is it allows multiple operations to occur 
  25. simultaneously.  So for instance, you may have your word processor doing a 
  26. spell check at the same time as you are converting a color image to black and 
  27. white.  OS/2  doesn't really run both applications at exactly the same time, 
  28. rather it spends a few thousandths of a second running one program and then 
  29. switches to the other for a few thousandths.  Because we are talking about such 
  30. small amounts of time, it appears as if both programs are running 
  31. simultaneously.  What the low priority option does is allow you to say  "hey, 
  32. run the other program more often than you run this one."  It will make the 
  33. other program much snappier.  You can change the priority even while the 
  34. process is running, if you change your mind about  which program you are most 
  35. interested in.  Something to beware is that sometimes DOS (or Windows) programs 
  36. demand such high priority that if you specify low priority, JView will run so 
  37. slowly as to be unbearable.  In those instances simply turn low priority off. 
  38. Feel free to play, you can do no harm. 
  39.  
  40. Done  This button indicates that you are satisfied with the current state of 
  41. the image and are done using the current function. 
  42.  
  43. Cancel.  This button will have two different effects depending upon whether you 
  44. are currently applying the function.  If you are applying the function, hitting 
  45. cancel will abort that current function application and return the image back 
  46. to the state it was in before the function was applied was started. 
  47.  
  48. If the function is not being applied, Cancel will return the image back to the 
  49. state it was in before the current function was run at all and the dialog will 
  50. close. 
  51.  
  52. Undo  This button will cause the image to be restored one level.  This will 
  53. allow you to reverse changes you have made to the image. 
  54.  
  55. GO!  This button will apply the current function to the image.  It can be 
  56. undone by either using the Undo button or the Cancel button. 
  57.  
  58. Image  This will switch  focus to the image window and away from the current 
  59. dialog. 
  60.  
  61. Preview Mode  This checkbox is only provided on some functions.  Basically, 
  62. this will instruct the function in question to do a fast and sloppy job.  The 
  63. idea is to get you a quick idea of what the finished product will look like. 
  64. You will need to Undo the image after a preview before applying the function 
  65. for real. 
  66.  
  67. Realtime Preview is similar in concept to Preview Mode.  It is only available 
  68. on some functions.  Realtime applies the function in question onto a miniature 
  69. version of the image allowing you to see how various parameters will affect the 
  70. image. 
  71.  
  72. It is very important to realize that virtually all the functions provided in 
  73. this add on can be applied on parts of the image as well as the entire image. 
  74. Simply select that portion of the image you are interested in by using the left 
  75. mouse button (with the appropriate selection method - box, ellipse, freehand). 
  76. You can also invert the selection region, so that everything EXCEPT the parts 
  77. inside the bounding area will be affected. 
  78.  
  79. Menu Commands.  Just like with JView, a popup menu is available by using the 
  80. right mouse button (or the M key).  Transformations will use a different set of 
  81. commands than are available when a transformation is not active.  These 
  82. commands are : 
  83.  
  84. Dialog  The top menu item will bring the current transformation dialog into the 
  85. foreground. 
  86.  
  87. Save Image brings up the JView Save Image Dialog. 
  88.  
  89. Copy allows you to copy the image (or parts of the image) to the clipboard in 
  90. standard or special formats. 
  91.  
  92. Print will bring up the JView print dialog. 
  93.  
  94. Refresh will repaint the image. 
  95.  
  96. Display Method allows you to choose the desired display method. 
  97.  
  98. Maginify specifies the amount of magnification to apply, it is only valid when 
  99. the Display Method is to use sliders. 
  100.  
  101. Selection is identical to the same command structure at the regular popup menu. 
  102. The one exception to this is that you can indicate that the selected region 
  103. should be Inverted, i.e. the area to be modified is outside the selected region 
  104. instead of inside. 
  105.  
  106.  
  107. ΓòÉΓòÉΓòÉ 1.2. Objects Utility ΓòÉΓòÉΓòÉ
  108.  
  109. This particular function is designed to operate in conjunction with the Paste 
  110. Special function.  Imagine if you will, another dimension...  Sorry. Imagine 
  111. that you have just selected an outline of a person from a given image and have 
  112. copied (copied special actually) that image to the clipboard.  You now wish to 
  113. paste (paste special actually) that person into your current image.  But you 
  114. don't just want that person to sit on top of the scene.  You want them to 
  115. appear as if they are standing behind a tree that is in the middle of the 
  116. image.  To achieve this effect, you would make the tree an object.  Once you 
  117. have designated the tree as an object, you can either paste in front of or 
  118. behind it. 
  119.  
  120. You can either Add or Delete an object.  To add an object, you first select the 
  121. region of the image that you wish to designate as an object (use the left mouse 
  122. button to do this).  Next, push the Add button and enter a name for this 
  123. object. 
  124.  
  125.  To Delete an object, select the name of the object you wish to delete and push 
  126. the Delete button.  Objects will be automatically deleted whenever a new image 
  127. is loaded. 
  128.  
  129. You should keep in mind that objects are created with relative positioning in 
  130. mind. Thus, if you were to create an object, then resize the image or crop its 
  131. size, the object would be positioned relative to the original image, not to the 
  132. changed one. 
  133.  
  134.  
  135. ΓòÉΓòÉΓòÉ 1.3. Acid ΓòÉΓòÉΓòÉ
  136.  
  137. This function has been described as either transforming your image into a kind 
  138. of sixties psychedelic look or as if acid had been spilled on your picture. 
  139. Either way you can vary the acid level, but the effect of different values is 
  140. hard to predict. 
  141.  
  142.  
  143. ΓòÉΓòÉΓòÉ 1.4. Blocks ΓòÉΓòÉΓòÉ
  144.  
  145. Besides blocks, this function could be called reduce resolution. It simply 
  146. takes your image and replaces a group of pixels with the color of a single 
  147. pixel.  The effect is commonly used on television to hide someone's identity. 
  148.  
  149. Your main variables are the size (in pixels) of the blocks that will be 
  150. created.  H will be the horizontal size, while Y will be the vertical size. 
  151.  
  152.  
  153. ΓòÉΓòÉΓòÉ 1.5. Cone ΓòÉΓòÉΓòÉ
  154.  
  155. Cone warps the image such that it appears as if the image was stretched to fit 
  156. onto the inside (or outside) of a cone while the viewer's perspective is 
  157. looking down from above. 
  158.  
  159. The power variable determines how fast the image (or how much of the image) 
  160. shifts towards the center.  Higher power cause a greater shift, thus a more 
  161. pronounced effect. 
  162.  
  163.  
  164. ΓòÉΓòÉΓòÉ 1.6. Double Vision ΓòÉΓòÉΓòÉ
  165.  
  166. Somewhere at sometime you have probably used a shower where the door was made 
  167. of distorted glass so that you could make out that a person was in the shower 
  168. but interesting details were distorted.  That's pretty much this function. 
  169. Size refers to the number of pixels that a given slice will be.  You also get 
  170. to orient the distortion vertically or horizontally. 
  171.  
  172.  
  173. ΓòÉΓòÉΓòÉ 1.7. Filters ΓòÉΓòÉΓòÉ
  174.  
  175. This dialog allows you to specify a filter (a matrix of values) to be 
  176. multiplied with your image.  This is commonly referred to as applying a filter 
  177. to the image. 
  178.  
  179.  
  180. ΓòÉΓòÉΓòÉ 1.7.1. What is a filter? ΓòÉΓòÉΓòÉ
  181.  
  182. The filtering of an image is also referred to as convolution.  It is the 
  183. process of calculating a new value for a pixel based on the old value of the 
  184. pixel and the values of the pixel's neighbors. The neighboring pixels 
  185. contribute to the new pixels based on some percentage criteria that is 
  186. specified in the filter.  The filter is sometimes referred to as the 
  187. convolution kernel. 
  188.  
  189. The filter is applied element by element and the results are summed together. 
  190. The result of the summation is usually used as the value of the new pixel, 
  191. however you have the option of replacing the old pixel, adding to or 
  192. subtracting from the old pixel value.  An example will help here. 
  193.  
  194. We are looking at a pixel somewhere in the center of your image. Your filter is 
  195. 3 x 3, for a total of 9 elements.  (In reality your filters will be 7 x 7, but 
  196. the principle is the same here.) The filter is represented by 
  197.  
  198. 1 1 1
  199. 1 1 1
  200. 1 1 1
  201.  
  202. This filter will be applied at the pixel we are interested in, but because it 
  203. is 3 x 3 in size we will also use the values of the pixels that surround our 
  204. target pixel.  For our example lets assume the image is grayscale and so each 
  205. pixel is represented by a value between 0 and 255.  Our target pixel and its 
  206. neighbors then could be 
  207.  
  208. 100 150 200
  209. 255 149 249
  210. 111 222 137
  211.  
  212. The filter and the image area are then multiplied together and summed.  This is 
  213. different than classic matrix multiplication, the multiplication is carried out 
  214. without rotating rows or columns. 
  215.  
  216. filter X image = 1 * 100 + 1 * 150 + 1 * 200 + 1 * 255
  217. + 1 * 149 + 1 * 249 + 1 * 111 + 1 * 222 + 1 * 137 = 1573
  218.  
  219. Now, we know that the value of our pixel must be in the range 0-255, yet the 
  220. result from out filter was 1573.  This is why there is a divisor field in the 
  221. filter application dialog.  The divisor is divided into the result of the 
  222. filter multiplication.  You can specify any divisor you like, except 0, but the 
  223. typical way to come up with a divisor is to sum the values that make up the 
  224. filter.  In our example there are 9 elements each with a value of 1, so their 
  225. sum is 9.  We will use a divisor of 9 and now the result of the application of 
  226. the filter is 1573 / 9 = 174.7778 (which gets rounded to 175) and this value 
  227. becomes the new pixel color. All of the above gets repeated for each pixel in 
  228. the image. 
  229.  
  230. This may seem confusing and a lot of trouble to go through but filters offer a 
  231. very powerful way of manipulating your image.  They can remove noise, add 
  232. special effects or enhance and sharpen your image.  Many image analysis books 
  233. have sections that go into details about filtering.  For a more detailed 
  234. explanation of filtering, find a bookstore with a strong computer section and 
  235. look for titles referring to image analysis or manipulations. 
  236.  
  237.  
  238. ΓòÉΓòÉΓòÉ 1.7.2. The Filter Utility ΓòÉΓòÉΓòÉ
  239.  
  240. To understand the options in this dialog you must be familiar with the concept 
  241. of how a filter is used.  This is outlined in the previous section. 
  242.  
  243. The filter is specified in the group of entry fields located in the upper left 
  244. section of the dialog.  Only signed integer values are allowed.  In addition to 
  245. the actual filter, two other fields must be specified.  They are the Divisor 
  246. and the Offset. You are already familiar with the divisor.  The Offset field is 
  247. simply added onto whatever the result of the filter operation yields.  Usually 
  248. it is zero, but for some special effects it is useful. 
  249.  
  250. Instead of just using the result of the filter operation as the new pixel 
  251. value, you have three options. The result can be used to Replace the old pixel 
  252. if the Replace option is highlighted.  Alternatively, either Add or Subtract 
  253. can be specified to have the result of the filter added to or subtracted from 
  254. the original value. 
  255.  
  256. To further add to the flexibility of this function, you may operate on the RGB 
  257. color channels independently by use of the R, G, and B checkboxes. 
  258.  
  259. There are three radio buttons located beneath the filter matrix.  The Normal 
  260. option will just apply the matrix as specified in one single pass.  This is the 
  261. most typical way the filter is used. 
  262.  
  263. Unsharp Mask is a process that is commonly used in printing to enhance an 
  264. image's edges and to bring out lost details. Basically, a low-pass filtered 
  265. copy of the image is subtracted from the current image.  You create the 
  266. low-pass filtered image by specifying the appropriate matrix.  A good starting 
  267. point is one of the Smoothing or Gaussian filters that are supplied with the 
  268. dialog.  So, select Unsharp Mask, select a Laplacian filter and let her rip. 
  269.  
  270. The last method of applying a filter is Deconvolution.  This is intended to 
  271. restore an image to its intended appearance after image has been subjected to 
  272. some sort of deterioration.  That deterioration could be from a lens 
  273. distortion, atmospheric problems, a dirty scanner, etc.  The mathematics behind 
  274. deconvolution are too complex to explain in this help file.  As the name 
  275. implies, Deconvolution is trying to undue a convolution or filter.  What you 
  276. need to due is guess what kind of filter best approximates the distortion that 
  277. your image has been subjected to.  Deconvolution iteratively subtracts the 
  278. effect of that filter from the image.  Because it is iterative, you need to 
  279. make multiple passes, something on the order of 4 - 9 is reasonable to start 
  280. with.  As an example of how this works, apply a Guassian filter to your image 
  281. using the Normal option.  Next select Deconvolution with 5 passes and see how 
  282. well your image gets restored. 
  283.  
  284. In addition to the standard buttons, you can Save and Load your own filters. 
  285.  
  286.  
  287. ΓòÉΓòÉΓòÉ 1.7.3. Built in Filters ΓòÉΓòÉΓòÉ
  288.  
  289. The following built-in filters are available, a description of the effect is 
  290. included for each family.  Each family of filter can have variations based on 
  291. the size and direction of the filter. When directions (orientation) are listed, 
  292. the nomenclature is North, South, West, East, North West, South West, North 
  293. East, South East, Horizontal, and Vertical.  A directional indicator means that 
  294. the filter will have a more pronounced effect along the given direction. 
  295.  
  296. For size, the range will be 3x3 to 7x7.  As a rule of thumb, the larger the 
  297. filter the more pronounced or "accurate" the effect will be, but the processing 
  298. time goes up quickly as size increases.  A 5x5 filter takes almost 3 times more 
  299. work than a 3x3 filter and a 7x7 filter is almost twice as intensive as a 5x5. 
  300.  
  301. The built-in filter families are : 
  302.  
  303.    o  Contour filters are used to aid in edge detection.  For instance, coins 
  304.       lying on a desk can be more easily discovered after a contour filter is 
  305.       used.  These are given as 7x7 filters, reduce the size to increase the 
  306.       speed. 
  307.  
  308.    o   Embossing North, South, ...  These filters give the image an embossed 
  309.       look, that is as if the image where pressed out of the paper.  The 
  310.       directionality (North West vs South East) can cause the emboss to look 
  311.       like engraving instead. 
  312.  
  313.    o  Engrave is almost the same filter as Relief.  Examine them both and you 
  314.       will notice it is only the placement of the numbers that change.  Engrave 
  315.       makes the image appear as if it has been pushed into (engraved upon) some 
  316.       paper.  The colors of the image will be lost, making the image look 
  317.       similar to grayscale.  You will get the best results if the image if 
  318.       first made grayscale.  Try and figure out why one image appears engraved 
  319.       while the other looks more like embossing. 
  320.  
  321.    o   Gradient South, North, ...  This is a directional filter used to find 
  322.       areas where the changes in pixel intensity are greatest.  These filters 
  323.       are particularly sensitive to the size of the filter.  Those listed are 
  324.       all based on 3x3 sizes but their quality can be increased by expanding 
  325.       them to the full 7x7 size.  Simply duplicate the pattern in the listed 
  326.       filter. 
  327.  
  328.    o  Gaussian 3x3, 5x5, 7x7 do an averaging of the neighboring pixels, but 
  329.       with a gaussian distribution - the center pixels gets weighted more 
  330.       heavily than the neighboring pixels. It produces a blurring effect, 
  331.       though not as strong as the Smooth filters. 
  332.  
  333.    o  High Pass Filters  These filters have an effect that is somewhat opposite 
  334.       that of the Low Pass Filters.  These tend to make your bright colors 
  335.       brighter and you dark colors darker (if only your laundry detergent 
  336.       worked as well).  The downside to these filters is an increase in the 
  337.       noise of the image.  The filters are arranged strongest to weakest. 
  338.  
  339.    o  Mean Removal  This is a type of High Pass Filter. 
  340.  
  341.    o  Laplacian 3x3, 5x5, North, ...  The Laplacian is a well known mathematic 
  342.       operator. When used as a filter it is a type of edge enhancer with the 
  343.       advantage that it will highlight edges in all orientations. 
  344.  
  345.    o  Low Pass Filters  These filters all act to cut off high frequency 
  346.       components of the image.  They have no effect on areas where colors are 
  347.       constant or change very slowly.  They act more aggressively in areas of 
  348.       the image where colors are changing rapidly. They are useful in reducing 
  349.       noise in the image.  The Smoothing filters listed elsewhere are a subtype 
  350.       of these filters.  The filters are arranged strongest to weakest. 
  351.  
  352.    o  Relief or embossing.  Gives the impression that the image has been 
  353.       embossed onto a piece of paper.  The colors of the image will be lost, 
  354.       making the image look similar to grayscale.  You will get the best 
  355.       results if the image if first made grayscale.  See Engrave for 
  356.       comparison. 
  357.  
  358.    o  Shift and Difference  These filters are a type of edge enhancement 
  359.       filter.  Their purpose is to discern the edges of your image, that is 
  360.       areas where there is a change in objects, for instance the outline of a 
  361.       person against a blue sky. 
  362.  
  363.    o  Smooth 3x3, 5x5, 7x7 do an averaging on the neighboring pixels.  This 
  364.       smoothes the image, but causes a blurring.  The larger the matrix, the 
  365.       smoother the result. 
  366.  
  367.    o  Sobel (North, North West, 3x3,...) These filters do a type of edge 
  368.       detection.  See Contour filters. 
  369.  
  370.  
  371. ΓòÉΓòÉΓòÉ 1.8. Fish Eye ΓòÉΓòÉΓòÉ
  372.  
  373. Arrr ye mates, gather round.  The effect produced is similar to the distortion 
  374. that results when you look through the peephole in the door of your home.  The 
  375. greater your Fishiness factor, the greater the likelihood you will have lots of 
  376. free time on Saturday nights and also the greater the distortion will be. 
  377.  
  378.  
  379. ΓòÉΓòÉΓòÉ 1.9. Median ΓòÉΓòÉΓòÉ
  380.  
  381. The median filter is a smoothing filter that is somewhat similar in nature to 
  382. the filters that get used in the Filter function.  The definition of median is 
  383. that given a group of numbers, find the number that is less than half of the 
  384. numbers and also greater than half.  Often it is similar to the average value, 
  385. but it is less likely to be influenced by one very large or small number in the 
  386. group.  You specify a radius and all those pixels that lie within the radius 
  387. are compared to find the median value which is then used as the new value for 
  388. the pixel in question.  What the median does for you is eliminate noise from 
  389. your image. Imagine that you have a black image with a few specs of white 
  390. scattered about. The median value of most groups of pixels would probably be 
  391. black and so the white pixels would be removed. 
  392.  
  393. This is extremely computer intensive work.  For example, if you have a 1000 by 
  394. 1000 pixel image, you have a total of 1,000,000 pixels.  If you were to specify 
  395. a radius of 5, then for each pixel in the image, a comparison of 11 by 11 = 121 
  396. pixels would have to be made (its 11 because the radius of 5 means that you go 
  397. 5 pixels to the left and 5 to the right, that makes 10 plus the pixel in 
  398. question so 11).  Multiply those together and you get 121,000,000 comparisons. 
  399.  
  400. In addition to the median of the points in question, you can also specify that 
  401. the Maximum or Minimum should be searched for. 
  402.  
  403.  
  404. ΓòÉΓòÉΓòÉ 1.10. Melting ΓòÉΓòÉΓòÉ
  405.  
  406. This function shifts groups of pixels giving the impression that the image is 
  407. melting or that wind is streaking it.  You get to specify the direction that 
  408. the melt will occur. 
  409.  
  410. The Strength field will dictate how much melting will occur. 
  411.  
  412.  
  413. ΓòÉΓòÉΓòÉ 1.11. Mirror ΓòÉΓòÉΓòÉ
  414.  
  415. Mirroring creates a duplication of the selected areas as if a mirror were held 
  416. to the selected section.  The mirror can be placed in 8 different positions: to 
  417. the left, right, up, down, diagonally up and left, diagonally up and right, 
  418. diagonally down and left, diagonally down and right.  The entire image can be 
  419. reflected, except diagonally.  Remember that you select an area by using the 
  420. left mouse button. 
  421.  
  422.  
  423. ΓòÉΓòÉΓòÉ 1.12. Noise ΓòÉΓòÉΓòÉ
  424.  
  425. Believe it or not, adding noise to an image can often make it look better. 
  426. This function adds random bits of noise (random color values) to your image. 
  427. The two variables that you control are Frequency and Amplitude. 
  428.  
  429. Frequency controls how much noise is added.  It is a percentage value so 100 
  430. means that every pixel will have the chance to get noise. 
  431.  
  432. The compliment of Frequency is Amplitude.  Once a pixel has been chosen to 
  433. receive noise, the amount of noise (shifting) is a function of Amplitude. 
  434. Since RGB colorspace has a range of 0-255 for each channel, the range of 
  435. amplitude is the same.  Amplitude is the possible maximum value that will be 
  436. applied.  The actual value is randomly generated and so will vary between 0 and 
  437. the indicated Amplitude value. 
  438.  
  439.  
  440. ΓòÉΓòÉΓòÉ 1.13. Oil Painting ΓòÉΓòÉΓòÉ
  441.  
  442. This function makes your image look as if it is actually an oil painting. This 
  443. function works by doing a histogram (counting the colors used) in the area 
  444. around each pixel.  The pixel gets set to the most used color.  The Oiliness 
  445. indicates how big a radius should be used to gather the histogram.  A large 
  446. radius means lots of comparisons will be needed for the histogram and so the 
  447. function will take a long time to run.  Anything above a value of 5 is probably 
  448. overkill. 
  449.  
  450. Another option besides this particular effect is to run multiple passes of 
  451. filters over your image.  In particular, run a smoothing filter over the image 
  452. three or four times.  Then, run the median filter over the image until the 
  453. desired results are achieved.  This method is much slower than simply running 
  454. oil painting, but it does give more control. 
  455.  
  456.  
  457. ΓòÉΓòÉΓòÉ 1.14. Polar Coordinates ΓòÉΓòÉΓòÉ
  458.  
  459. The image you have displayed on your screen is 2 dimensional and is represented 
  460. in Cartesian coordinates - meaning each pixel's position is represented by an X 
  461. coordinate and a Y coordinate.  Another way of representing a pixel's position 
  462. is to use another coordinate system. The one we are interested in is known as 
  463. Polar coordinates.  Instead of X and Y defining a point, polar coordinates are 
  464. expressed in an angle (called Theta) that is measured from the X axis, and a 
  465. Radius which is measured from the origin.  Mathematically, X = Radius x 
  466. cos(Theta) and Y = Radius x sin(Theta). This is known as one to one mapping, 
  467. every point that is in Cartesian coordinates can be expressed in Polar 
  468. coordinates. 
  469.  
  470. So, we know we can convert between Cartesian and Polar coordinates. What this 
  471. function does is convert the image coordinates into Polar coordinates, but it 
  472. takes the converted values and displays them as if they were Cartesian 
  473. coordinates (it also does some scaling to make things stay relatively the same 
  474. size). 
  475.  
  476. A side effect of this distortion is that the image will appear to have rotated 
  477. -90 degrees or so.  You may wish to rotate the image after the transforms has 
  478. taken place.  Pixels outside the area where the coordinate system 
  479. transformation takes place (the corners of a bounding rectangle for instance) 
  480. get mapped to the indicated Background Color. 
  481.  
  482.  
  483. ΓòÉΓòÉΓòÉ 1.15. Ripple ΓòÉΓòÉΓòÉ
  484.  
  485. First you get a bottle of Ripple, then you take your date...  Whoa! Wrong 
  486. program there.  Ripple can be visualized in this way : Imagine that your image 
  487. is a photograph placed in a pan full of water.  You are looking at the picture 
  488. from directly above.  Now, drop a small pebble directly at the center of the 
  489. image.  The rippling distortions of the water is what this function will 
  490. duplicate. 
  491.  
  492. There are three basic variables to controlling Ripple, and three advanced 
  493. features.  The first of the basics is Amplitude.  Amplitude controls how big 
  494. the wave formed from dropping your pebble will be.  For those of you familiar 
  495. with trigonometry, it will be the amplitude of a sine wave function. 
  496.  
  497. The next variable is Phase.  When you drop the pebble into the water, at the 
  498. point where the pebble hits, the water will first be pulled down, and then it 
  499. will splash back up.  Phase indicates what is happening at this point. 
  500. Mathematically, it is a shift in degrees for the start of a sine wave. 
  501.  
  502. Last comes Wavelength.  As the name implies, this is the number of pixels 
  503. between the crest and trough of the wave that results from the pebble drop. 
  504. Mathematically, is the is period of the sine wave.  A small value makes lots of 
  505. ripples, larger values = fewer ripples. 
  506.  
  507. The advanced options modify the results of the basic variables.  Inner Radius 
  508. and End Radius allow you to specify limits on where the ripple will take place. 
  509. Normally, the ripple takes place from the center of the image.  Specifying an 
  510. Inner Radius will cause all pixels from the origin spanning outward to that 
  511. radius to be unaffected.  Note that Phase is still measured relative to the 
  512. origin. 
  513.  
  514. End Radius is used in conjunction with Diminishing Magnitude to have the 
  515. ripples become less pronounced as you move away from the center of the image. 
  516. It has no effect is Diminishing Magnitude is not checked.  When these two are 
  517. used, the image will have full Amplitude wave starting at the center of the 
  518. image that will reduce to 0 Amplitude (or no ripples) at the End Radius value. 
  519.  
  520.  
  521. ΓòÉΓòÉΓòÉ 1.16. Rotate ΓòÉΓòÉΓòÉ
  522.  
  523. Rotation simply rotates the image about its origin the amount specified in the 
  524. Angle  The units of the angle are degrees.  If you rotate your image an amount 
  525. that is different from 0, 90, 180, -90, or -180 degrees, blank areas will be 
  526. created.  They will be filled in with the specified Background Color. 
  527.  
  528. There is one option available, and that is to Antialias the image. Your image 
  529. is made up of pixels that are located at integer positions - (0, 0)  (1, 1) 
  530. (45, 234) etc. When you rotate your image, say 45 degrees, the point that was 
  531. at (5, 0) needs to be shifted to (3.536, 3.536).  The problem is that the 
  532. computer cannot understand a point with fractions in it, it must be (3, 3) or 
  533. (4, 4).  This rounding causes a blockiness to appear in your image.  The 
  534. blockiness is most apparent along edges, where you get a staircase type effect. 
  535. Antialiasing blends these edges look more line straight lines.  The price for 
  536. this is some blurring and more computer time to process the image. 
  537.  
  538.  
  539. ΓòÉΓòÉΓòÉ 1.17. Shear ΓòÉΓòÉΓòÉ
  540.  
  541. Shear is very similar to rotation, but it's as if only half the job was done. 
  542. Shearing causes the  image to rotate, but the shifting is constrained to one 
  543. axis (X Shear or Y Shear) only. Imagine your image is printed on a rubber 
  544. sheet.  You hold the bottom of the image in one hand and the top in the other. 
  545. If you keep your hands the same vertical distance apart but move your bottom 
  546. hand to the left and the top hand to the right, the effect on your image is 
  547. know as shear (in this case X Shear because you are shearing along the 
  548. horizontal axis). 
  549.  
  550. Angle is measured in degrees and indicates the amount of shift that will take 
  551. place from the given axis.  (X Shear is thus measured from the vertical axis). 
  552. Blank spots will open in the background of the image and will be filled with 
  553. the color indicated in Background Color. The Antialias option is the same as is 
  554. discussed in detail in the Rotation section. 
  555.  
  556.  
  557. ΓòÉΓòÉΓòÉ 1.18. Shear - Random ΓòÉΓòÉΓòÉ
  558.  
  559. See Shear for a discussion of what shearing is.  Random Shear randomly moves a 
  560. line of the image a distance of one pixel either up, down, left, or right. 
  561. Because gaps will be created a Background Color will be used to fill those 
  562. voids. 
  563.  
  564.  
  565. ΓòÉΓòÉΓòÉ 1.19. Slices ΓòÉΓòÉΓòÉ
  566.  
  567. This function acts as if your took a photograph of your image, cut it into 
  568. strips and then put the strips back together in a somewhat random fashion. 
  569.  
  570. You have three parameters to set.  Min Size and Max Size refer to the range of 
  571. sizes for the width of the strip that is shifted (or cut using the above 
  572. analogy). The actual size is a random number that lies within that range.  Max 
  573. Shift places an upper limit on the amount that a give strip can move.  Again, 
  574. since the shift is randomly generated the actual shift will vary between zero 
  575. and this maximum value. 
  576.  
  577.  
  578. ΓòÉΓòÉΓòÉ 1.20. Solarize ΓòÉΓòÉΓòÉ
  579.  
  580. In photography, it was discovered that if you take partially developed film and 
  581. expose it to light, the developed portions are unaffected, but the undeveloped 
  582. regions turn from positive to negative (they are inverted).  This process is 
  583. known as solarization. 
  584.  
  585. On the computer, we have to decide what parts of the image will be treated as 
  586. undeveloped.  This where the Threshold value comes in.  Threshold represents 
  587. the intensity of the pixel in question and ranges from 0 to 255.  If the 
  588. intensity is less than the Threshold value, the pixel is treated as 
  589. undeveloped, so the darker tones are considered undeveloped. 
  590.  
  591. When Normal is selected, all pixels below the given Threshold value of 
  592. intensity are inverted.  This is fine and good, but to make life more 
  593. interesting some variations are added. 
  594.  
  595. Left, Right, Down, and Up create a Threshold value as a function of the 
  596. distance from the given axis.  So, Left will have the solarization effect 
  597. increasing from as you move along the horizontal axis toward the right edge of 
  598. the image.  The other options apply similarly.  Since the threshold value is a 
  599. function of position, the value entered in the Threshold spin box is ignored. 
  600.  
  601.  
  602. ΓòÉΓòÉΓòÉ 1.21. Swirl ΓòÉΓòÉΓòÉ
  603.  
  604. This effect makes your image look as if someone had twisted the middle. 
  605. Another analogy would be that your image was painted on the top of a bowl of 
  606. water and you stirred the middle of the bowl.  You control the amount of 
  607. twisting (or Rotation). 
  608.  
  609.  
  610. ΓòÉΓòÉΓòÉ 1.22. Tiles ΓòÉΓòÉΓòÉ
  611.  
  612. This effect takes your image, cuts it up into itsy bitsy squares and then 
  613. somewhat randomly glues the squares back together.  You specify the Tile Size 
  614. of the squares that the image will be cut into. These tiles are then randomly 
  615. shifted, up to a Max Shift amount before being put back into the image. 
  616. Because blank spots will appear in the image, they get filled with the color 
  617. specified in Background Color. 
  618.  
  619.  
  620. ΓòÉΓòÉΓòÉ 1.23. Warp ΓòÉΓòÉΓòÉ
  621.  
  622. Warping is a way of interactively distorting your image.  It gives you a great 
  623. deal of control over just how much and what parts of your image get distorted. 
  624. It is easiest to think of warping as acting upon a rubber sheet with your image 
  625. printed upon it.  As you push and pull the sheet, so the image will distort. 
  626.  
  627. The heart of warping is defining your control mesh.  This mesh is made up of a 
  628. series of control points which define how the image gets distorted.  When you 
  629. first start Warp, you are given a total of 4 control points, one at each corner 
  630. of your image.  You specify how many control points you want in along the X and 
  631. Y axes by changing the value in the appropriate spin boxes. 
  632.  
  633. To aid you in seeing your mesh, you may change the Grid Color that it will be 
  634. displayed with.  Additionally, you choose the Fast Grid option. This option 
  635. will display the mesh (and changes to the mesh) as fast as possible, but will 
  636. sometimes make the mesh difficult to see.  Turning Fast Mesh off will aid 
  637. visibility but degrade display speed.  An additional aid in visualizing the 
  638. mesh is to enter a value in the Grid Multiplier spin box.  This will add grid 
  639. lines to your mesh, but only as a visual aid.  You will not have direct control 
  640. over them and they do not affect how the warp is processed.  The Grid 
  641. Multiplier is only used if both Peripheral Only and Splines are not selected. 
  642.  
  643. At the highest level, they are two different ways that a warp can be performed, 
  644. to Warp In and Warp Out.  To Warp In is probably the more intuitive way to 
  645. perceive warping.  You start with your undistorted image as a rectangle.  After 
  646. you have created your warp mesh, the image is forced into the outline of the 
  647. mesh you have created.  Warping Out does just the reverse.  You start with your 
  648. undistorted image and overlay your warp mesh upon it.  All the points that 
  649. underlie your warp mesh are then stretched to fit into the rectangle that your 
  650. image initially start with.  You are working backwards from Warp In.  Warp Out 
  651. does have the advantage that the final image will completely fill your 
  652. rectangle. 
  653.  
  654. Aside from Warp In versus Warp Out, you can specify the type of mesh you wish 
  655. to work with.  Selecting Peripheral Only means that you will only have control 
  656. over the points that lie on the outside edges of your warp mesh.  When the 
  657. feature is on, the Grid Multiplier and Fast Grid are ignored. 
  658.  
  659. Splines to creates a mesh based on splines (a type of curve).  The Spline 
  660. option places several constraints on your mesh. First, Peripheral Only, Fast 
  661. Grid,  and Grid Multiplier are ignored when splines are selected.  Second, 
  662. splines must have control points that lie along the outside edges of the image, 
  663. these points cannot be brought towards the center of the image.  The net effect 
  664. is that the final image will always be rectangular.  Finally, Splines is 
  665. strictly a Warp In procedure. 
  666.  
  667. The control mesh is manipulated by use of the left mouse button.  Simply place 
  668. the pointer over the control point of interest (the control point is 
  669. highlighted) and while keeping the mouse button depressed, drag the point into 
  670. the desired position. 
  671.  
  672.  
  673. ΓòÉΓòÉΓòÉ 1.24. Waves ΓòÉΓòÉΓòÉ
  674.  
  675. Waves distorts your image by causing it to be displaces along either the 
  676. vertical or horizontal axis by an amount that is driven by the trigonometric 
  677. sine wave function.  Aside from the orientation of the wave, you specify 
  678. Amplitude or height of the wave, the Phase or where does the zero height of the 
  679. wave begin, and finally Wavelength which dictates the distance between two 
  680. peaks of the wave. 
  681.  
  682. Antialiasing is described in detail elsewhere, but basically it serves to 
  683. smooth ragged edges that may result from application of the wave. 
  684.  
  685.  
  686. ΓòÉΓòÉΓòÉ 1.25. Screen Capture ΓòÉΓòÉΓòÉ
  687.  
  688. This utility allows you to capture a copy of the screen.  You have several 
  689. choices about when the capture will occur. 
  690.  
  691. First, you may select a Time delay.  This method will wait the indicated amount 
  692. of time after the sequence has been started, and then the capture will take 
  693. place.  Please note that if you intend to have an OS/2 system window active, 
  694. this will be the only method for doing the screen capture.  OS/2 windows can be 
  695. present for any of the capture methods, but if one will have the focus, then 
  696. this is the only allowable method. 
  697.  
  698. The alternative to a timed sequence is to use Hot Keys.  You have three 
  699. different key combinations available to choose from. 
  700.  
  701. In all cases the entire screen is captured, you may crop down to the areas of 
  702. interest after the capture has occurred. 
  703.  
  704.  
  705. ΓòÉΓòÉΓòÉ 1.26. Paste Into ΓòÉΓòÉΓòÉ
  706.  
  707. This feature allows you to paste whatever image is currently in the clipboard 
  708. into whatever image currently is being displayed by JView.  Decide how much you 
  709. want to scale or rotate the image to be pasted.  Scaling is in percent, so 100 
  710. means the current size. Rotation is in degrees.  The Strength attribute tells 
  711. how much to blend the items. It is often referred to as an alpha value.  A 
  712. value of 100 means the pasted in image will completely cover the area it is 
  713. pasted onto.  A value of 50 would take half the image that currently exists, 
  714. and half the image that is about to be pasted and adds them together. 
  715.  
  716. The Blend Edges option will take the interface between the current image and 
  717. the image being pasted and blend them slightly.  This will make the transition 
  718. between images less apparent. 
  719.  
  720. In addition to rotation and scaling, you can  Flip Horizontally or Vertically 
  721. the image to be pasted. 
  722.  
  723. Objects are parts of the image that you have already sectioned off.  The 
  724. purpose of these are to allow you place the paste image "in between" parts of 
  725. the current picture.  For instance let your image be a single palm tree on a 
  726. desert landscape.  You wish to paste in an image of a person standing behind 
  727. the tree.  You would first create an object of the tree (See Object Utility). 
  728. Next you would create your paste image.  Finally you would select Paste Into. 
  729. Choose Objects and select the palm tree.  Then complete the paste.  You would 
  730. find that your person was pasted behind the palm tree. 
  731.  
  732. Once you have Created the Paste Image (this button just applies the Rotation 
  733. and Scaling factors), use the right mouse button to drag the image onto the 
  734. main viewing window for positioning. 
  735.  
  736. The Create Paste Image button always operates on the image currently in the 
  737. clipboard.  Because of this, each scale or rotation is applied to the image 
  738. only once. In contrast, Flipping the image is applied to the paste image 
  739. already created and so is lost whenever you hit Create Paste Image.  Understand 
  740. that you can do one paste operation and then copy a new image to the clipboard 
  741. and then paste this one too.  There is no need to exit between pastes. 
  742.  
  743. Note for users running with 8 bit graphics systems.  Because you can only 
  744. display 256 unique colors at one time, the pasting process will often distort 
  745. colors when you are aligning the images for pasting.  This happens because each 
  746. may contain different colors and so in total exceed the 256 color limit.  Once 
  747. the paste is completed the color distortion is removed. 
  748.  
  749.  
  750. ΓòÉΓòÉΓòÉ 1.26.1. Objects ΓòÉΓòÉΓòÉ
  751.  
  752. To access this dialog, you will be in the process of pasting one image into 
  753. another.  With this dialog, you select those objects, behind which your pasted 
  754. image will appear.  The list box which shows the objects you have currently 
  755. defined is a little special.  Before we go into it, lets describe what all the 
  756. buttons do. 
  757.  
  758. OK signals you're through and the dialog is exited.  Whatever objects you have 
  759. selected are used during the paste. 
  760.  
  761. All selects all the objects. 
  762.  
  763. None de-selects all the objects. 
  764.  
  765. Show will show you whatever the currently highlighted object look like.  For 
  766. the objects list box, highlighted means that the object in question has the 
  767. text and background displayed in inverted colors.  Only one object can be 
  768. highlighted at a time and it is done so by clicking on the object name - to the 
  769. right of the checkbox. 
  770.  
  771. Delete will delete whichever object is highlighted. 
  772.  
  773. Add allows you to create (add) a new object.  You will need to have selected 
  774. the appropriate region with a cropping outline and you need to type in a name. 
  775.  
  776. Selecting vs Highlighting  As mentioned, an object is highlighted when the 
  777. entire line is drawn in inverted colors.  To highlight an object, click on the 
  778. appropriate line, away from the check box (the extreme left of the line).  In 
  779. order to select an object (for use in pasting) you need to check the checkbox 
  780. located to the left of the object's name.  You check (or uncheck) the box by 
  781. clicking it in the center.